html {
  scroll-behavior: smooth;
}

body {
  background-color: $background;
  color: $white;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  font-family: "Fira Sans", sans-serif;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  @include browser(Android) {
    min-height: 92vh;
  }
}

.skip-navigation {
  @include sr-only;
  @include sr-only-focusable;
}

h1,
.h1 {
  @include rfs(64);
  font-weight: 200;
}
h2,
.h2 {
  @include rfs(32);
  font-weight: 200;
}
h3,
.h3 {
  @include rfs(24);
  font-weight: 300;
}
h4,
.h4 {
  @include rfs(20);
  font-weight: 200;
}
h5,
.h5 {
  @include rfs(18);
  font-weight: 200;
}
h6,
.h6 {
  @include rfs(16);
  font-weight: 200;
}
p {
  @include rfs(17);
  line-height: 1.25rem;
  font-weight: 300;
}

label {
  font-weight: 200;
}

#content {
  flex: 1 1 auto;
}

.btn {
  &.is-circle {
    align-items: center;
    border-radius: 1.3rem;
    display: flex;
    justify-content: center;
    padding: 0.3rem 0;
    text-transform: uppercase;
    width: 2.6rem;
    height: 2.6rem;
  }
}

.btn-primary:hover {
  color: #fff;
  background-color: #a81723;
  border-color: #be1828;
}

.btn-sm {
  &.is-circle {
    border-radius: 1rem;
    padding: 0.22rem 0;
    width: 2rem;
    height: 2rem;
  }
  &.is-rounded {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    text-transform: uppercase;
    letter-spacing: 0.3px;
  }
}

.btn-lg {
  &.is-rounded {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
    text-transform: uppercase;
  }
}

.is-rounded {
  border-radius: 10rem;
}

.input-validation-error {
  border: 1px solid #f78308; /*red, not primary cuz it's error. full red is gross */
}
.text-danger {
  color: #f78308 !important;
}

hr {
  border-top: 1px solid #2caea5;
}

.dropdown-menu {
  background-color: lighten($background, 5%);
  border: 1px solid transparentize($primary, 0.62);
  box-shadow: 0 0.25rem 0.5rem 0.5rem $background;
  .dropdown-divider {
    border-top: 1px solid transparentize($primary, 0.81);
  }
  .dropdown-item {
    color: $white;
    font-weight: 300;
    &:hover,
    &:focus {
      background-color: transparentize($primary, 0.38);
    }
  }
}

.form-control {
  background: transparentize($white, 0.95);
  border-color: transparentize($white, 0.95);
  color: $white;
  font-weight: 300;
  &:focus {
    background: transparentize($white, 0.95);
    border-color: transparentize($white, 0.95);
    color: $white;
  }
  &.input-validation-error {
    border-color: #f78308;
  }
}

.powered-by-di {
  padding-top: 1rem;
  padding-bottom: 0.25rem;
  font-weight: 300;
}

.account-page {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.62+38,0.62+62,0+100 */
  background: -moz-linear-gradient(
    top,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.62) 38%,
    rgba(0, 0, 0, 0.62) 62%,
    rgba(0, 0, 0, 0) 100%
  ); /* FF3.6-15 */
  background: -webkit-linear-gradient(
    top,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.62) 38%,
    rgba(0, 0, 0, 0.62) 62%,
    rgba(0, 0, 0, 0) 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.62) 38%,
    rgba(0, 0, 0, 0.62) 62%,
    rgba(0, 0, 0, 0) 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */
}

@include media-breakpoint-up(lg) {
  .btn {
    &.btn-primary {
      transition-property: transform;
      transition-duration: 300ms;
      transition-timing-function: ease-out;
      &:hover {
        transform: translateY(-5px);
      }
      &:focus {
        transform: translateY(-5px);
      }
    }
  }
}
